package cn.silver.module.authority.bean;

import cn.silver.framework.core.utils.DateUtils;
import cn.silver.framework.mybatis.bean.BaseBean;
import cn.silver.module.authority.domain.SysTenantUser;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMapper;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * @author zhouxiaobo
 */
@Data
@NoArgsConstructor
@ExcelIgnoreUnannotated
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SysTenantUser.class)
@Schema(name = "TenantUserBean", title = "系统租户人员对象")
public class TenantUserBean extends BaseBean implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(title = "租户ID")
    private String tenantId;
    @Schema(title = "所属组织")
    private String deptId;
    @Schema(title = "任职岗位")
    private String postId;
    @Schema(title = "成员信息")
    private String userId;
    @Schema(title = "成员类型")
    private String userType;
    @Schema(title = "注册时间")
    @JsonFormat(timezone = DateUtils.TIME_ZONE, pattern = DateUtils.YYYY_MM_DD)
    private Date startTime;
    @Schema(title = "失效时间")
    @JsonFormat(timezone = DateUtils.TIME_ZONE, pattern = DateUtils.YYYY_MM_DD)
    private Date stopTime;
    @Schema(title = "成员状态")
    private String status;
}
